A device that communicates over a communication network uses bandwidth of the communication network and may be charged for the usage of the bandwidth. Over time, as bandwidth usage increases, the cost also increases.
Methods have been applied to combat the bandwidth increase. For example, a method that conserves bandwidth may reduce the cost for usage of the bandwidth. In this way, the data transmission costs are lower for the same bandwidth usage.
One way to conserve bandwidth is using data compression. Data compression is the process of encoding information using fewer bits than the original representation would use. Thus, data compression may be useful because it helps reduce the consumption of expensive resources, such as transmission bandwidth. On the downside, compressed data must be decompressed to be used, and this extra processing may be detrimental to some applications. For instance, a compression scheme may introduce latency and require expensive hardware to be decompressed fast enough to be viewed as it is being decompressed. The design of data compression schemes therefore involves trade-offs among various factors, including the degree of compression, the amount of distortion introduced (if using a lossy compression scheme), and the computational resources required to compress and decompress the data. Therefore, a need exists to reduce bandwidth without the drawbacks of previous data compression schemes.